<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>let var const</title>
</head>
<body>

<script>
//    var
//    1.变量提升/预解释/预解析

    console.log("----1----",a); //undefined
    var a = 100;
    var a = 200;
    console.log("----2----",a);



    //暂时性死区
    let a1 = 100;
//    let a1 = 200;

console.log("----a1----",a1);

/*    for (var i=0;i<5;i++){//1 4 5<5 false
        console.log("---i----->>>",i) //0===>5 4
    }
    console.log("----i---->>>",i)//5*/


/*
    for (let i=0;i<5;i++){//1 4 5<5 false
        console.log("---i----->>>",i) //0===>4
    }
    console.log("----i---->>>",i)//undefined*/

    {

        let a1 = 100;

    }
    {

        let a1 = 200;
    }


    /*
    * 1 let 声明变量  语法跟var一样
    * 2 let 只在块级作用域下生效
    * 3 let 不存在变量提升/预解释/预解析
    * 4 let 不能重复声明
    * 5 let 暂时性死区
    * */


//    const

    const PI = 3.1415926;
//    PI= 3.15;

    const obj = {
        a:1
    };

   /* console.log("===obj==1==>",obj);
    obj.a = 20;
    console.log("===obj==2==>",obj);*/

   /*
   * const 声明常量
   * const 初始值
   * const 值内容不能修改
   * */


// use strict  //严格模式



</script>
<script>
    /*
    * 1.学会使用git,熟记git常用命令
    * 2.理解并熟记let var const的区别(面试题)
    * 3.自学ES6解构赋值
    * 4.复习ES5中this指向问题,call/apply/bind,作用域和作用域链
    * 5.预习箭头函数
    *
    *
    * */
</script>
</body>
</html>